//typescript javascript的超集
console.log(typeof 123);///number
console.log(typeof nan);//undefined
console.log(typeof NaN);//number
console.log(typeof 'str');//string
console.log(typeof true);//boolean
console.log(typeof undefined);//undefined
console.log(typeof Math.abs);//function
console.log(typeof null);//object
console.log(typeof []);//object
console.log(typeof {});//object

//特别注意null的类型是object和array的类型一样，我们用typeof无法区分出
//null、array和通常意义上的object

//包装  包装对象和原始值用===比较会返回false
var n=new Number(123);
console.log(n);
var t=new Object(null);
console.log(t);

//包装
console.log(typeof 123);
console.log(typeof new Number(123));
console.log(new Number(123) == 123);//true
console.log(new Number(123) === 123);//false
console.log(new Boolean(true)===true);
console.log(new String(NaN)===NaN);

//没加new 不是包装对象，是普通函数
var nn=Number('123')
console.log(nn);

var bb=Boolean('');////false
console.log(bb);
console.log(bb);

let a=new Date();
console.log(a.getFullYear()); // 2021 表示今年2021年
console.log(a.getMonth());//10 表示11月
console.log(a.getDate());  //19 表示19号
console.log(a.getDay());// 5表示星期五
console.log(a.getHours());//11 表示几点钟--24小时制
console.log(a.getMinutes());// 表示几分钟 --24小时制
console.log(a.getSeconds());// 表示几秒  --24小时制
console.log(a.getMilliseconds());//表示豪秒
console.log(a.getTime());//表示时间辏

var dd=new Date(2021,11,12,12,12,12,123);
console.log(dd);
//牢记时间是从0开始 ，0代表1月----。。。

var aaad=new Date(1637292332841)
Date.parse()//从1-12
Date.now()//从0-11

//包装  包装对象和原始值用===比较会返回false
var n=new Number(123);
console.log(n);
var t=new Object(null);
console.log(t);

//正则表达
var re=/ab+c/;
console.log(re);
var res =new RegExp("ab+c")
console.log(res);
//使用正则表达式的方法
//方法	描述
//exec	一个在字符串中执行查找匹配的RegExp方法，它返回一个数组（未匹配到则返回 null）。
var  myre =/d(b+)d/g;
var myarray=myre.exec("cdbbdbsbz")
console.log(myarray);
//test	一个在字符串中测试是否匹配的RegExp方法，它返回 true 或 false。
//match	一个在字符串中执行查找匹配的String方法，它返回一个数组，在未匹配到时会返回 null。
//matchAll	一个在字符串中执行查找所有匹配的String方法，它返回一个迭代器（iterator）。
//search	一个在字符串中测试匹配的String方法，它返回匹配到的位置索引，或者在失败时返回-1。
//replace	一个在字符串中执行查找匹配的String方法，并且使用替换字符串替换掉匹配到的子字符串。
//split	一个使用正则表达式或者一个固定字符串分隔一个字符串，并将分隔后的子字符串存储到数组中的 String 方法。

//正则表达式标志
//标志	描述
//g	全局搜索。
//i	不区分大小写搜索。
//m	多行搜索。
//s	允许 . 匹配换行符。
//u	使用unicode码的模式进行匹配。
//y	执行“粘性(sticky)”搜索,匹配从目标字符串的当前位置开始。